// HOC可以通过super.render()来获取到对应元素，再配合React.createElement、React.cloneElement、 React.Children等Api对元素进行操作，实现更换节点，修改props的妙用。
import React from 'react';

function HOC (Component:any){
  return function Advance(props:any) {
      const element = Component(props);
      const appendElement = React.createElement('div', {}, '大家好，我是小杜杜');
      const res = React.Children.map(element.props.children, (child, index) => {
        if (index === 1) return appendElement;
        return child;
      });
      return React.cloneElement(element, element.props, res);
    }
  }
function Index() {
    return <div>
      <p>劫持元素</p>
      <p>大家好，我是React</p>
    </div>
  
}
export default HOC(Index);
